草庐IT

c++ - WaitForSingleObject 问题

全部标签

windows - Laravel Homestead SSH 远程共享问题

我第一次测试Vagrant中的共享选项,我正在Windows7UltimateSP132位主机上的新LaravelHomesteadVM配置的Virtualbox提供程序上进行测试。我使用MINGW32作为shell,我禁用了Windows防火墙(域、本地和公共(public))以确保这不会影响我的操作。Vagrant无法自动找到HTTP端口,所以我指定它。如果我运行以下命令一切顺利:MINGW32~/Vagrant/Homestead((v6.2.2))$vagrantshare--http8000VagrantSharenowdefaultstousingthe`ngrok`dri

c - GCC:在不链接任何库的情况下编译应用程序

我知道如何在裸机嵌入式应用程序中使用GCC编译C应用程序而不链接任何库,只需设置启动函数并最终设置程序集startup.s文件。相反,我无法在Windows中执行相同的操作(我使用的是MINGW32GCC)。似乎与-nostdlib的链接也删除了在main之前需要执行的所有内容,所以我应该编写一个特定的启动但我没有找到任何关于它的文档。因为我需要在没有Cstdlib的情况下进行编译,原因是我正在为小型32位微Controller编写一个rducedCstdlib,我想在Windows下使用GCC测试和单元测试这个库。所以,如果有其他最简单的方法对我来说没问题。谢谢。

c - Windows 内核驱动程序 : How to determine if thread terminated?

我有一个线程用于某些操作,它需要保持事件状态,直到标志另有说明为止。我用PsCreateSystemThread创建线程,然后使用ObReferenceObjectByHandle获取ETHREAD在使用KeWaitForSingleObject卸载驱动程序之前等待线程终止的对象引用.Thefunctionthatcreatesthethreadandretrievesareferencetoit:ntStatus=PsCreateSystemThread(&hThread,(ACCESS_MASK)0,NULL,(HANDLE)0,NULL,ThreadRoutine,(PVOID)

windows - PHP7.1 + XDebug + WAMP + Visual Studio Code 问题

近2天以来,我一直在尝试获得一个有效的设置。仍然没有运气。问题:在VisualStudioCode中,在我的项目中,一旦我单击“StarDebugging”的绿色箭头,然后转到浏览器和我的本地网站,我就会刷新。VSC中没有任何反应。没有列出任何变量,我的断点都没有做任何事情,等等。我的环境:Windows10WAMP3.1.332位环境-位于:c:\wamp在WAMP中为我的多个网站安装设置vhostwebsite-project-name:8080Apache2.4.27使用端口:8080PHPv7.1.1632位x86-位于“c:/wamp/bin/php/php7.1.16”安装

c - 如何使用 Windows KMDF 注册软件中断?

我想在Windows10x64上使用相应的服务例程注册一个新的软件中断,这可能吗?是否提供了API来执行此操作?我是否必须使用未记录的功能手动完成此操作,这样做会触发内核补丁保护吗? 最佳答案 注册软件中断会导致针对正在运行的操作系统修改中断描述符表(IDT)。Windows具有内核补丁保护(KPP)/PatchGuard,可保护内核代码和数据结构(例如IDT)不被篡改。这包括防止添加新的中断描述符条目、删除它们以及修改描述符表。这也意味着不能修改中断描述符条目。开发人员这样做的原因是将中断重定向到新的中断服务例程,也称为中断Hoo

c - 长按键 GTK

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭3年前。Improvethisquestion不久前,我遇到了长按键问题。我正在开发GTK应用程序并具有一些基于按键和按键释放的逻辑。我知道如何处理它,但按下字母按钮时出现意外行为。当仍然按下某个键并且仅在Windows中发生时,将触发键释放事件。Linux(Kubuntu和Archlinux(KDE))不会发生这种情况。这是错误还是我应该考虑

c - 从 C 程序发现和报告 Windows 版本信息

这个问题在这里已经有了答案:DetectingWindows10version(3个答案)关闭4年前。我们有一个为Win2K构建的项目,然后是WinXP,然后是Win7,现在已经从使用VS2010的32位Win7程序转换为使用VS2017的64位Win10程序。VS2017项目是从头开始创建的,然后根据需要导入和更新旧源。当我创建新项目时,我将目标平台(在项目的配置的常规部分)设置为Windows10,并且由于我没有特殊需要,我将项目设置为自动构建list。今天我注意到我们在程序中显示当前Windows版本信息的对话框表明我们在Windows8.1下运行,内部版本号为6.2。当我查找G

c - 在 2GB 范围内分配内存

我正在编写一个函数,允许用户在指定地址的2GB+/-范围内分配内存。我正在查询内存以找到一个空闲页面,并在那里分配。这是x64trampolinehooking,因为我使用的是相对jmp指令。我的问题是NtQueryVirtualMemory因STATUS_ACCESS_VIOLATION错误而失败,因此总是返回0。我很困惑为什么会发生这种情况,因为min(可能的最低地址)在我checkinProcessExplorer时似乎是免费的。LPVOIDAllocate2GBRange(UINT_PTRaddress,SIZE_TdwSize){NtQueryVirtualMemory_tN

python-3.x - 由于 PortAudio 库问题 (OSError),Windows 上的 PyInstaller 可执行文件无法运行

我正在尝试使用PyInstaller从我的Python3.7应用程序在Windows上构建一个.exe。构建似乎运行顺利并且没有显示错误;然而,在Windows命令提示符下执行文件会导致这个可怕的错误:OSError:PortAudiolibrarynotfound我已经对这个问题做了一些研究并找到了一些信息,但仍然无法克服它。我的应用程序使用sounddevice库,它依赖于PortAudio库。PortAudio已安装,因为当我直接使用Python运行该应用程序时,该应用程序可以完美运行;问题很明显,PyInstaller以某种不同的方式跟踪依赖关系,无法找到它并将其链接到构建。实

c - msys2 如何显示来自非控制台应用程序的控制台输出?

如果我编译这个源代码:#includeintmain(intargc,char*args[]){printf("Done!\n");return0;}在msys2下使用gcchello.c-ohello-mwindows使用mingw-w64-x86_64-toolchain工具链,然后从msys2内部运行它我会看到:同时,如果我从powershell(或cmd)调用同一个可执行文件,我将看到:老实说,考虑到-mwindows生成的是Windows可执行文件而不是控制台文件,我对后者并不感到惊讶-我已经看过很多次了。但是msys2如何设法显示该输出? 最佳答